body {
    /* background: #f2f2f2; */
    background: #282c34;
}

.frame {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 400px;
    height: 400px;
    margin-top: -200px;
    margin-left: -200px;
    border-radius: 2px;
    box-shadow: 1px 2px 10px 0px rgba(0, 0, 0, 0.3);
    overflow: hidden;
    background: #16a085;
    font-size: 0;
    font-family: 'Open Sans', Helvetica, sans-serif;
}

.center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.line {
    fill: none;
    stroke: #fff;
    stroke-width: 3px;
    stroke-linecap: round;
    animation: line 2.5s linear infinite;
}

.circle {
    position: absolute;
    width: 30px;
    height: 30px;
    top: 185px;
    left: 185px;
    border-radius: 50%;
    border: 4px solid #fff;
    animation: circle 2.5s ease-out infinite both;
}

@keyframes circle {
    0%,
    50% {
        opacity: 1;
        transform: scale(0);
    }
    70%,
    100% {
        opacity: 0;
        transform: scale(0.8);
    }
}

@keyframes line {
    from {
        stroke-dasharray: 50 660;
        stroke-dashoffset: 780;
    }
    to {
        stroke-dasharray: 50 660;
        stroke-dashoffset: 70;
    }
}
